#pragma once
#include "..\DXAMLCommon.h"
#include "DeclName.h"
#include "Attribute.h"

class DeclAttDef :
	public DeclName,
	public Attribute
{
protected: 
	DeclAttDef(const DeclAttDef &);
public: 
	DeclAttDef(struct IMalloc * pMalloc, struct StringPtr * pName);
	virtual ~DeclAttDef();
	virtual struct StringPtr * GetName();
	struct StringPtr * GetPrefix();
	void SetPrefix(struct StringPtr *);
	XINT32 GetType();
	void SetType(XINT32);
	struct StringPtr * GetTypeData();
	void SetTypeData(struct StringPtr *);
	struct StringPtr * GetValue();
	void SetValue(struct StringPtr *);
	XINT32 GetGrafted();
	void SetGrafted(XINT32);
	XINT32 GetNamespace();
	void SetNamespace(XINT32);
protected: 
	void operator=(const DeclAttDef &);
protected: 
	struct StringPtr type;
};